热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

.NET|–Winform|–DotnetBar库的Button显示顺序设置

前言winform真的要注意细节啊.细节拉满才能把握得住的一个框架.需求实现一个动态添加按钮,但是要根据按钮来排序.解决方案usingDevComponents.DotNetBar

前言

winform真的要注意细节啊.细节拉满才能把握得住的一个框架.


需求

实现一个动态添加按钮, 但是要根据按钮来排序 .


解决方案

using DevComponents.DotNetBar;
namespace WinFormsApp1
{
public partial class Form1 : Form
{
private List _cOntrolList= new List();
private readonly static int _tabWidth = 45;
private readonly static int _tabHeight = 45;
private readonly static Size s_btnDefaultSize = new System.Drawing.Size(_tabWidth, _tabHeight);
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.Manual;
var b3 = AddBtn("3", 3);
var b1 = AddBtn("1", 1);
var b2 = AddBtn("2", 2);
this.Controls.Add(b3);
this.Controls.Add(b1);
this.Controls.Add(b2);
}
protected override void OnSizeChanged(EventArgs e)
{
base.OnSizeChanged(e);
_cOntrolList= _controlList.OrderBy(c => c.TabIndex).ToList();
var v = _controlList.Select(s => new { name = s.Name, tab = s.TabIndex });
for (int i = 0; i <_controlList.Count; i++)
{
_controlList[i].Location = new Point(0, _tabHeight * (i + 1));
}
}
protected override void OnControlAdded(ControlEventArgs e)
{
base.OnControlAdded(e);
_controlList.Add(e.Control);
this.Height += _tabHeight;
}
ButtonX AddBtn(string name, int index)
{
ButtonX newBtnTab = new ButtonX();
newBtnTab.Name = name;
newBtnTab.Text = name;
newBtnTab.TabIndex = index;
newBtnTab.Click += NewBtnTab_Click;
newBtnTab.Size = s_btnDefaultSize;
newBtnTab.Cursor = Cursors.Hand;
newBtnTab.Location = new Point(_tabWidth, _tabHeight);
newBtnTab.BackColor = System.Drawing.Color.FromArgb(255, 251, 251, 251);
newBtnTab.ColorTable = DevComponents.DotNetBar.eButtonColor.Flat;
return newBtnTab;
}
private void NewBtnTab_Click(object? sender, EventArgs e)
{
var newIndex = _controlList.Count + 1;
var newBtn = AddBtn(newIndex.ToString(), newIndex);
this.Controls.Add(newBtn);
}
}
}



推荐阅读
author-avatar
辽宁何氏医学院视光张丽杰
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有